package co.yixiang.modules.activity.service.mapper;

import co.yixiang.common.mapper.CoreMapper;
import co.yixiang.modules.activity.domain.YxStoreVisit;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
import org.springframework.stereotype.Repository;

/**
 * 商店访问映射器接口，继承自CoreMapper，用于处理与商店访问相关的基本数据操作
 */
@Repository
public interface YxStoreVisitMapper extends CoreMapper<YxStoreVisit> {

    /**
     * 增加指定产品的浏览次数
     * 此方法通过更新数据库中特定用户对特定产品的访问记录来实现增加浏览量的功能
     * 如果用户和产品匹配，则该产品的浏览计数增加1
     *
     * @param uid 用户ID，表示执行浏览操作的用户
     * @param productId 产品ID，表示被浏览的产品
     * @return 返回受影响的行数，通常为1表示成功更新
     */
    @Update("update yx_store_visit set count=count+1 " +
            "where uid=#{uid} AND id=#{productId}")
    int incBrowseNum(@Param("uid") Long uid,@Param("productId") Long productId);
}
